#ifndef _animation_h_included_
#define _animation_h_included_
#include <d3dx9.h>
#include <d3d9.h>
#include <string>
#include "DXUtil.h"

class Model;

//This class is responsible for maintaining the state
//of a model
class Animation
{

	protected:
	Model* mModel;
	bool mEnabled;

public:
	Animation();
	Animation(Model* pModel);

	virtual void Update(LPDIRECT3DDEVICE9 d3ddev, double pElapsedTime, double pTotalTime) const = 0;;
	virtual void Release() const = 0;;

	Model* GetModel();
	void SetModel(Model* pModel);

	bool GetEnabled();
	void SetEnabled(bool enabled);
};
#endif
